Basically, a recursive algorithm will add overhead since you store recursive calls in the execution stack.

But if the recursive function is the last line of the call (tail recursion) then there is no additional penalty.

That is of course both algorithms are the same.

Space complexity in Merge-sort

Reference:
https://www.codeproject.com/Articles/21194/Iterative-vs-Recursive-Approaches
https://stackoverflow.com/questions/10821059/space-complexity-of-recursive-algorithm
https://en.wikipedia.org/wiki/Tail_call
https://goo.gl/JY6o7o